#include <stdio.h>
#include <stdlib.h>

int main()
{
    //获取array[0] = ?
    //array[1] = ?
    //....
    //array[256] = ?
    int array[256] = { 0 };//定义一个数组，有256个成员
    FILE *p = fopen("a.txt", "r");//以只读方式打开一个文件a.txt
    while(!feof(p))//foef(p)检测文件是否结束，结束返回非0，未结束返回0
    {
        char buf[1024] = { 0 };//定义一个空数组，有1024个成员
        fgets(buf, sizeof(buf), p);//把这一行文件内容写入到数组里面
        int a = atoi(buf);//把这个字符串数组转换成整数
        array[a]++;//把这个整数的个数+1
    }
    fclose(p);

    //把array[0]到array[256]的个数写入到文件a.txt中
    p = fopen("a.txt", "w");
    int i, j;
    for(i = 0; i < 256; i++)
    {
        for(j = 0; j < array[i]; j++)
        {
            char buf[100] = { 0 };
            sprintf(buf, "%d\n", i);
            fputs(buf, p);
        }
    }
    fclose(p);
    return 0;
}

